[INFO] cloning repository https://github.com/PewPewPewcoding/rust-tictactoe
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PewPewPewcoding/rust-tictactoe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPewPewPewcoding%2Frust-tictactoe", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPewPewPewcoding%2Frust-tictactoe'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dd9ad914e74fa39179925f40556282fda686f6cc
[INFO] checking PewPewPewcoding/rust-tictactoe against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPewPewPewcoding%2Frust-tictactoe" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/PewPewPewcoding/rust-tictactoe on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/PewPewPewcoding/rust-tictactoe
[INFO] finished tweaking git repo https://github.com/PewPewPewcoding/rust-tictactoe
[INFO] tweaked toml for git repo https://github.com/PewPewPewcoding/rust-tictactoe written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/PewPewPewcoding/rust-tictactoe already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a6aa98334d37305bfe221be72e2cfb863345a7cb7cbc7fa858ce2d0d6333b973
[INFO] running `Command { std: "docker" "start" "-a" "a6aa98334d37305bfe221be72e2cfb863345a7cb7cbc7fa858ce2d0d6333b973", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a6aa98334d37305bfe221be72e2cfb863345a7cb7cbc7fa858ce2d0d6333b973", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6aa98334d37305bfe221be72e2cfb863345a7cb7cbc7fa858ce2d0d6333b973", kill_on_drop: false }`
[INFO] [stdout] a6aa98334d37305bfe221be72e2cfb863345a7cb7cbc7fa858ce2d0d6333b973
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6375e8058a212613ecd1aadf9c983587157d3fa97c300b34dd71f68853d1bf69
[INFO] running `Command { std: "docker" "start" "-a" "6375e8058a212613ecd1aadf9c983587157d3fa97c300b34dd71f68853d1bf69", kill_on_drop: false }`
[INFO] [stderr]     Checking tictactoe v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: `mut` must be attached to each individual binding
[INFO] [stdout]   --> src/lib.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut (x, o, e) = (0, 0, 0);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: add `mut` to each binding: `(mut x, mut o, mut e)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `mut` may be followed by `variable` and `variable @ pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `mut` must be attached to each individual binding
[INFO] [stdout]   --> src/lib.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut (x, o, e) = (0, 0, 0);
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: add `mut` to each binding: `(mut x, mut o, mut e)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `mut` may be followed by `variable` and `variable @ pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TicTacToe: Copy` is not satisfied
[INFO] [stdout]   --> src/lib.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut board = [TicTacToe::Empty; 9];
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `TicTacToe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `TicTacToe` with `#[derive(Copy)]`
[INFO] [stdout]    |
[INFO] [stdout] 1  + #[derive(Copy)]
[INFO] [stdout] 2  | enum TicTacToe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `String` is not an iterator
[INFO] [stdout]   --> src/lib.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |         for i in input {
[INFO] [stdout]    |                  ^^^^^ `String` is not an iterator; try calling `.chars()` or `.bytes()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Iterator` is not implemented for `String`
[INFO] [stdout]    = note: required for `String` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TicTacToe: Copy` is not satisfied
[INFO] [stdout]   --> src/lib.rs:13:26
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut board = [TicTacToe::Empty; 9];
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `TicTacToe`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the `Copy` trait is required because this value will be copied for each element of the array
[INFO] [stdout] help: consider annotating `TicTacToe` with `#[derive(Copy)]`
[INFO] [stdout]    |
[INFO] [stdout] 1  + #[derive(Copy)]
[INFO] [stdout] 2  | enum TicTacToe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char`
[INFO] [stdout]   --> src/lib.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 'X' => board[i] = TicTacToe::X,
[INFO] [stdout]    |                              ^ slice indices are of type `usize` or ranges of `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char`
[INFO] [stdout]    = note: required for `[TicTacToe]` to implement `Index<char>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char`
[INFO] [stdout]   --> src/lib.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 'O' => board[i] = TicTacToe::O,
[INFO] [stdout]    |                              ^ slice indices are of type `usize` or ranges of `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char`
[INFO] [stdout]    = note: required for `[TicTacToe]` to implement `Index<char>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `String` is not an iterator
[INFO] [stdout]   --> src/lib.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 |         for i in input {
[INFO] [stdout]    |                  ^^^^^ `String` is not an iterator; try calling `.chars()` or `.bytes()`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Iterator` is not implemented for `String`
[INFO] [stdout]    = note: required for `String` to implement `IntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char`
[INFO] [stdout]   --> src/lib.rs:17:30
[INFO] [stdout]    |
[INFO] [stdout] 17 |                 'X' => board[i] = TicTacToe::X,
[INFO] [stdout]    |                              ^ slice indices are of type `usize` or ranges of `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char`
[INFO] [stdout]    = note: required for `[TicTacToe]` to implement `Index<char>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the type `[TicTacToe]` cannot be indexed by `char`
[INFO] [stdout]   --> src/lib.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 'O' => board[i] = TicTacToe::O,
[INFO] [stdout]    |                              ^ slice indices are of type `usize` or ranges of `usize`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `SliceIndex<[TicTacToe]>` is not implemented for `char`
[INFO] [stdout]    = note: required for `[TicTacToe]` to implement `Index<char>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:42:22
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 if i == TicTacToe::Empty {
[INFO] [stdout]    |                    - ^^ ---------------- TicTacToe
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    TicTacToe
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | enum TicTacToe {
[INFO] [stdout]    | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `TicTacToe` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout] 1  + #[derive(PartialEq)]
[INFO] [stdout] 2  | enum TicTacToe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState`
[INFO] [stdout]   --> src/lib.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     tmp[i] = TicTacToe::X;
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:42:22
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 if i == TicTacToe::Empty {
[INFO] [stdout]    |                    - ^^ ---------------- TicTacToe
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    TicTacToe
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | enum TicTacToe {
[INFO] [stdout]    | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `TicTacToe` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout] 1  + #[derive(PartialEq)]
[INFO] [stdout] 2  | enum TicTacToe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState`
[INFO] [stdout]   --> src/lib.rs:44:21
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     tmp[i] = TicTacToe::X;
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |             return result;
[INFO] [stdout]    |                    ------ here the type of `result` is inferred to be `Vec<GameState>`
[INFO] [stdout] ...
[INFO] [stdout] 45 |                     result.push(tmp);
[INFO] [stdout]    |                            ---- ^^^ expected `GameState`, found `&GameState`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/alloc/src/vec/mod.rs:1824:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if i == TicTacToe::Empty {
[INFO] [stdout]    |                    - ^^ ---------------- TicTacToe
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    TicTacToe
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | enum TicTacToe {
[INFO] [stdout]    | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `TicTacToe` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout] 1  + #[derive(PartialEq)]
[INFO] [stdout] 2  | enum TicTacToe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState`
[INFO] [stdout]   --> src/lib.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |                     tmp[i] = TicTacToe::O;
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:45:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |             return result;
[INFO] [stdout]    |                    ------ here the type of `result` is inferred to be `Vec<GameState>`
[INFO] [stdout] ...
[INFO] [stdout] 45 |                     result.push(tmp);
[INFO] [stdout]    |                            ---- ^^^ expected `GameState`, found `&GameState`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/alloc/src/vec/mod.rs:1824:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:50:22
[INFO] [stdout]    |
[INFO] [stdout] 50 |                 if i == TicTacToe::Empty {
[INFO] [stdout]    |                    - ^^ ---------------- TicTacToe
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    TicTacToe
[INFO] [stdout]    |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `TicTacToe`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | enum TicTacToe {
[INFO] [stdout]    | ^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `TicTacToe` with `#[derive(PartialEq)]`
[INFO] [stdout]    |
[INFO] [stdout] 1  + #[derive(PartialEq)]
[INFO] [stdout] 2  | enum TicTacToe {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0608]: cannot index into a value of type `&GameState`
[INFO] [stdout]   --> src/lib.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |                     tmp[i] = TicTacToe::O;
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |             return result;
[INFO] [stdout]    |                    ------ here the type of `result` is inferred to be `Vec<GameState>`
[INFO] [stdout] ...
[INFO] [stdout] 53 |                     result.push(tmp);
[INFO] [stdout]    |                            ---- ^^^ expected `GameState`, found `&GameState`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/alloc/src/vec/mod.rs:1824:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |             return result;
[INFO] [stdout]    |                    ------ here the type of `result` is inferred to be `Vec<GameState>`
[INFO] [stdout] ...
[INFO] [stdout] 53 |                     result.push(tmp);
[INFO] [stdout]    |                            ---- ^^^ expected `GameState`, found `&GameState`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            arguments to this method are incorrect
[INFO] [stdout]    |
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/9610dfe5a9a731ced1ea4923ecbd0c57fe367898/library/alloc/src/vec/mod.rs:1824:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0369, E0608.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0369, E0608.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tictactoe` (lib) due to 12 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `tictactoe` (lib test) due to 12 previous errors
[INFO] running `Command { std: "docker" "inspect" "6375e8058a212613ecd1aadf9c983587157d3fa97c300b34dd71f68853d1bf69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6375e8058a212613ecd1aadf9c983587157d3fa97c300b34dd71f68853d1bf69", kill_on_drop: false }`
[INFO] [stdout] 6375e8058a212613ecd1aadf9c983587157d3fa97c300b34dd71f68853d1bf69
